草庐IT

Java HashMap 调整大小

全部标签

c++ - 为什么要分配一个比请求大小大 1 的数组?

这真的很有趣,因为我们的老师昨天教我们这个,他自己也搞不懂。因此,我们有点悬而未决,不知道真正的原因。下面是一本名著中的Queue的数组实现(我没有,但我的导师是这么说的,作者很有名气):classQUEUE{private:int*q;intN;inthead;inttail;public:QUEUE(intmaxN){q=newint[maxN+1];N=maxN+1;head=N;tail=0;}intempty()const{returnhead%N==tail;}voidput(intitem){q[tail++]=item;tail=tail%N;}intget(){hea

c++ - C++ 语言标准对 static_cast 如何处理减小整数的大小有何规定?

我想知道C++语言标准针对以下情况指定的规则:longx=200;shorty=static_cast(x);y是否保证为200,还是标准将其留给实现来决定?各种编译器对标准的遵守程度如何? 最佳答案 在本例中为static_cast是一个“显式类型转换”。该标准对4.7/3“积分转换”中的积分转换有这样的说法:Ifthedestinationtypeissigned,thevalueisunchangedifitcanberepresentedinthedestinationtype(andbit-fieldwidth);othe

c++ - 使用缓冲区从未知大小的文件中读取

我正在尝试从文件中读取block,但遇到了问题。char*inputBuffer=newchar[blockSize]while(inputFile.read(inputBuffer,blockSize)){inti=inputFile.gcount();//Dostuff}假设我们的block大小是1024字节,文件是24,3KiB。读取第23个block后,将有0,3KiB剩余可读取。我还想读取0,3KiB,实际上我稍后使用gcount()这样我就可以知道有多少缓冲区read(...)修改(以防万一)但是当它访问第24个block时,read(...)返回一个值使得程序没有进入循环

c++ - 调整不可迭代容器以通过自定义模板化迭代器进行迭代

我有一些类,由于各种原因超出了本次讨论的范围,我无法修改(省略了不相关的实现细节):classFoo{/*...irrelevantpublicinterface...*/};classBar{public:Foo&get_foo(size_tindex){/*whatever*/}size_tsize_foo(){/*whatever*/}};(我正在处理许多类似的“Foo”和“Bar”类,它们都是从其他地方生成的代码和我不想子类化的东西,等等)[编辑:澄清-尽管有许多类似的“Foo”和“Bar”类,但保证每个“外部”类都有getter和size方法。根据“内部”包含的类型,每个“外

c++ - 有什么方法可以找到分配给映射的内存大小?

有没有什么方法可以找到分配给C++中的映射的内存量/大小?有一个函数可以找到map的大小,即map中的条目数,但是内存有没有这样的方法。我有一张map(字符串,字符串)。sizeof()总是给我48的大小。为什么会这样?谢谢:) 最佳答案 不,没有。但是,对于支持.size方法的类,例如字符串或标准容器,您可以实现类似的功能:templateunsignedlongmapSize(conststd::map&map){unsignedlongsize=sizeof(map);for(typenamestd::map::const_i

如何在Safari上调整背景图像的大小?

在Chrome中在铬合金,它的工作原理就像上面的图片一样。在野生动物园然而,在野生动物园中,它不如上所示。CSS代码如下:background-image:url(rendyhome.png);background-size:auto66vh;background-repeat:no-repeat;background-position:right;我如何解决它?看答案背景大小:包含;您可以尝试使用以下代码,该代码告诉浏览器将图像保存在容器中,以中心。该解决方案可能会在图像周围创建空白颜色,可以使用backgroundcolor;background-size:contain;backgrou

c++ - 动态(即可变大小)分域树?

问题:我偶然发现了可以轻松计算累积和的Fenwick树(二进制索引树)。但是,我只找到了leeves(被加数)数量不变(但它们的值可以改变)的实现。是否有类似通用Fenwick树的东西允许改变叶(加数)的数量,即具有可变大小?背景我目前正在编写一些随机模拟代码(在C++中):瓮中有球,每个球i都有一定的概率p_i被绘制。在绘制事件中,一个球被绘制(并移除)并被两个具有新概率的新球替换(并且所有概率都相应地重新调整;我已经有效地进行了这种“重新调整”,所以不要为此烦恼)。在某个时候,我开始移除球,使球的数量围绕一个恒定值(之前已知)波动。为了有效地进行绘图,我想使用二叉树。标准的Fenw

c++ - 以 [0.5, 0.5, 0.5] 为中心的盒子大小为 1 的模拟是否有缺陷?

我是一名数值物理学家,我在我的社区看到了一些模拟代码,它们使用了一个中心在[0.5,0.5,0.5]中且归一化长度为1(因此框坐标从0.到1.)。在此框中执行大量物理计算,通常需要尽可能高的精度。我认为做这样的事情可以被视为缺陷,但我想确认这一点。我倾向于认为这是一个缺陷,因为当我们在0.附近有更多的数值精度时,数值精度在整个盒子中并没有很好地平衡。要有一个很好的平衡我认为这样的盒子:应该以0.为中心(从-0.5到0.5)如果想要围绕盒子中心的对称精度应该以1.5为中心(从1.到2.)如果想要在整个框中获得准同质精度我是正确的还是完全错误的? 最佳答案

c++ - 避免为不同的字符数组大小进行模板实例化

我有一个简单的可变参数模板代码来将参数写入流:#includevoidtostream(std::ostream&os){}templatevoidtostream(std::ostream&os,constT&v,constArgs&...args){osvoidlog(std::ostream&os,constArgs&...args){tostream(os,args...);}我可以用它来调用:log(std::cout,"Hello",3);log(std::cout,"Goodbye",4);我使用VisualStudio2013编译此代码,并在(发布配置)上进行所有优化,

c++ - 用户定义的不同大小 vector 的减少

我正在尝试为复杂的vector定义我自己的缩减,遵循thisanswer问题ReducingonarrayinOpenMP.但是我的vector的大小在编译时不是固定的,所以我不确定如何在declarereductionpragma中定义vector的初始值设定项。也就是说,我不能只拥有initializer(omp_priv=TComplexVector(10,0))但是vector需要初始化器。如何将运行时所需的vector大小传递给初始化子句?到目前为止,我所拥有的如下:typedefstd::vector>TCmplxVec;voidComplexAdd(TCmplxVec&x